CREATE PROCEDURE AktualizujWiek AS BEGIN -- Deklaracja zmiennych DECLARE @id_studenta INT, @pesel VARCHAR(11), @wiek INT -- Deklaracja kursora DECLARE cursor_student CURSOR FOR SELECT id, Pesel FROM studenci -- Otwarcie kursora OPEN cursor_student -- Pobranie pierwszego wiersza FETCH NEXT FROM cursor_student INTO @id_studenta, @pesel -- Pętla po wszystkich wierszach WHILE @@FETCH_STATUS = 0 BEGIN -- Obliczenie wieku na podstawie numeru PESEL SET @wiek = (CASE WHEN SUBSTRING(@pesel, 3, 2) < '20' THEN 2000 ELSE 1900 END) + CAST(SUBSTRING(@pesel, 3, 2) AS INT) SET @wiek = YEAR(GETDATE()) - @wiek -- Wstawienie wieku do druga_tabela INSERT INTO druga_tabela (id_studenta, wiek) VALUES (@id_studenta, @wiek) -- Pobranie następnego wiersza FETCH NEXT FROM cursor_student INTO @id_studenta, @pesel END -- Zamknięcie kursora CLOSE cursor_student DEALLOCATE cursor_student END